//#define _CRT_SECURE_NO_WARNINGS 1
//
////C语言中, 表达式(4 << 2 | 3) 的结果是（）
////
////这题考察的是2进制运算和优先级
////<< 优先级大于 |
////所以实际运算顺序为(4 << 2) | 3
////4 二进制为 100 ， 移位 << 2 得到 10000 即 16
////3 二机制为 011
////10000 | 011 或运算得到 10011 即 19
//
//
////在C语言中，以下代码执行之后，* p的值为（）
//void func(int* p) {
//    static int num = 4;
//    p= &num;
//    (*p)--;
//}
//int main() {
//    int i = 5;
//    int* p = &i;
//    func(p);
//    printf("%d", *p);
//    return 0;
//}
//
//
//首先，main函数内 : p指向i的地址。在fun函数传递的是p的值，p的值就是i的地址，因此传递的是i的地址。
//其次，在fun函数内，形参p接收i的地址，此时形参p也指向i(同main函数内的实参p一样，此时有两个指针指向i)。
//之后，形参p指向静态变量num，这样形参修改的话修改的是num的值。而i只有main函数内的实参p指向，fun函数的p已经不指向i了。 
//因此，实参p没有改变，i也没有改变。
//